1. Field of the Invention
The present invention relates to an apparatus and method for providing a trusted computer system based on untrusted computers, and more particularly to an apparatus and method for providing a trusted path mechanism between a user node based on an untrusted computer or workstation and a trusted subsystem.
2. Background Information
Advances in computer and communications technology have increased the free flow of information within networked computer systems. While a boon to many, such a free flow of information can be disastrous to those systems which process sensitive or classified information. In response to this threat, trusted computing systems have been proposed for limiting access to classified information to those who have a sufficient level of clearance. Such systems depend on identifying the user, authenticating (through password, biometrics, etc.) the user's identity and limiting that user's access to files to those files over which he or she has access rights. In addition, a trusted path mechanism is provided which guarantees that a communication path established between the Trusted Computer Base (TCB) and the user cannot be emulated or listened to by malicious hardware or software. Such a system is described in U.S. Pat. Nos. 4,621,321; 4,713,753; and 4,701,840 granted to Boebert et al. and assigned to the present assignee, the entire disclosures of which are hereby incorporated by reference.
The last decade has marked a shift in the distributing of computational resources. Instead of connecting a large number of relatively "dumb" terminals to a mainframe computer, the automatic data processing environment has gradually shifted to where a large number of current systems are file server systems. In a file server system, relatively low cost computers are placed at each user's desk while printers and high capacity data storage devices are located near the server or servers. Files stored in the high capacity data storage devices are transferred to the user's computer for processing and then either saved in local storage or transferred back to the storage devices. Documents to be printed are transferred as files to a print server; the print server then manages the printing of the document.
An even more loosely coupled distributed computing approach is based on the client-server paradigm. Under the client-server paradigm, one or more client processes operating on a user's workstation gain access to one or more server processes operating on the network. As in file server systems, the client processes handle the user interface while the server processes handle storage and printing of files. In contrast with file server systems, however, the client processes and the server processes share data processing responsibilities. A more complete discussion of distributed computing is contained in "Client-Server Computing" by Alok Sinha, published in the July 1992 issue of Communications of the ACM.
Both the file server and the client-server paradigms depend heavily upon the availability of low-cost computer systems which can be placed at each user's desk. The low-cost systems are then connected through a network such as a LAN or a WAN to the server systems. Such a networked system is illustrated in the block diagram shown in FIG. 1.
In FIG. 1, a workstation processing unit 40 is connected through a network 50 to a host computer 60. Workstation unit 40 is also connected through video port 44 and keyboard port 46 to display unit 10 and keyboard 20, respectively.
In a typical distributed computer system, the workstations 40, the host computers 60 and the connecting networks 50 are all at great risk of a security breach. Trusted computer systems based on host computers such as the Multilevel Secure (MLS) Computer 60 shown in FIG. 1 make security breaches at the host computer more difficult by partitioning the system to isolate security critical (trusted) subsystems from nonsecurity critical (untrusted) subsystems. Such computers do little, however, to prevent security breaches on network 50 or at user workstation 40.
A Multi-Level Secure (MLS) Computer such as is shown in FIG. 1 is capable of recognizing data of varying sensitivity and users of varying authorizations and ensuring that users gain access to only that data to which they are authorized. For example, an MLS computer can recognize the difference between company proprietary and public data. It can also distinguish between users who are company employees and those who are customers. The MLS computer can therefore be used to ensure that company proprietary data is available only to users who are company employees.
Designers of MLS computers assume that unauthorized individuals will use a variety of means, such as malicious code and active and passive wiretaps, to circumvent its controls. The trusted subsystem of an MLS computer must therefore be designed to withstand malicious software executing on the untrusted subsystem, to confine the actions of malicious software and render them harmless. One mechanism for avoiding malicious software is to invoke a trusted path, a secure communications path between the user and the trusted subsystem. A properly designed trusted path ensures that information viewed or sent to the trusted subsystem is not copied or modified along the way.
Extension of the trusted path through the network to the user is, however, difficult. As is described in a previously filed, commonly owned U.S. patent application entitled "Secure Computer Interface" (U.S. Pat. No. 5,272,754, issued Dec. 21, 1993 to William E. Boebert), "active" and "passive" network attacks can be used to breach network security. Active attacks are those in which masquerading "imposter" hardware or software is inserted into the network communications link. For example, hardware might be inserted that emulates a user with extensive access privileges in order to access sensitive information. "Passive" network attacks include those in which a device listens to data on the link, copies that data and sends it to another user. A system for ensuring secure data communications over an unsecured network is described in the above-identified patent. That patent is hereby incorporated by reference.
Active and passive attacks can also be used to breach computer security through software running on an untrusted user computer, an untrusted host or in the untrusted subsystem of a Multilevel Secure Computer. For example, malicious software running in the workstation could present itself to an authorized user as the trusted subsystem, and cause that user to enter highly sensitive data, such as a password. The data is then captured and given to the attacker. Under a passive software attack, data which is intended for one user could be copied and sent to a user who is not authorized to work with it.
Systems for ensuring secure communications over an unsecured network have been limited to date to scrambling devices which encrypt data written to the network and decrypt data received from the network. Such systems are limited in that they provide no assurance that the user's computer is secure or that the user has, in fact, established a trusted path to the trusted subsystem. Therefore, despite the fact that the communications link is secure, it is possible for a user on the computer to be misled into believing that a program executing on his computer is actually running on the host computer.
What is needed is a mechanism for extending the trusted path from the trusted subsystem of the host computer to the user of an untrusted computer or workstation. Such a method should provide access to the workstation for normal workstation activities while shielding confidential data so that it cannot be read by software executing on the unsecured workstation.